(()=>{var Ge=Object.create,de=Object.defineProperty,He=Object.getOwnPropertyDescriptor,he=Object.getOwnPropertyNames,Be=Object.getPrototypeOf,Ve=Object.prototype.hasOwnProperty,Je=(t,e)=>function(){return e||(0,t[he(t)[0]])((e={exports:{}}).exports,e),e.exports},Ye=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of he(e))!Ve.call(t,i)&&i!==r&&de(t,i,{get:()=>e[i],enumerable:!(n=He(e,i))||n.enumerable});return t},pe=(t,e,r)=>(r=t!=null?Ge(Be(t)):{},Ye(e||!t||!t.__esModule?de(r,"default",{value:t,enumerable:!0}):r,t)),_e=Je({"coffee/bundle/_react.js"(){var t,e,r,n={}.hasOwnProperty,i=[].slice;window.R||(t={},e=function(o,s){var a;for(a in o)if(n.call(o,a)&&o[a]!==s[a])return!0;for(a in s)if(n.call(s,a)&&!(a in o))return!0;return!1},r={},window.R=function(o,s,a,u){var l,c,h,p,g,b;return a==null&&(a=R),u==null&&(u=""),a[o]?(I.in_dev&&console.warn("Already declared, using existing:",o),a[o]):(s.trigger=function(){var m;m=$(ReactDOM.findDOMNode(this)),R.trigger.apply(R,[m].concat(i.call(arguments)))},s.dispatch=function(){var m;m=$(ReactDOM.findDOMNode(this)),R.dispatch.apply(R,[m].concat(i.call(arguments)))},s.container=function(){return $(ReactDOM.findDOMNode(this))},s.tt=function(m,d){var f;return d==null&&(d=t),(f=I.i18n.fetch_key_sync(m))&&_.isString(f)?f:(r[m]||(r[m]=I.i18n.react_class(m)),React.createElement(r[m],d))},s.t=function(m,d){return I.i18n.fetch_key_sync(m)?I.i18n.t_sync(m,d):(I.i18n.fetch_key(m).done(function(f){return function(){if(f.isMounted())return f.forceUpdate()}}(this)),"\u2026")},c=_.once(function(){return(""+u+o).replace(/[A-Z]/g,"_$&").replace(/\./g,"_").replace(/__+/g,"_").replace(/^_+/,"").replace(/_+$/,"").toLowerCase()+"_widget"}),s.enclosing_class_name=c,s.enclose=function(){var m,d,f;return f=arguments[0],m=2<=arguments.length?i.call(arguments,1):[],d=f.component||"div",delete f.component,React.createElement.apply(React,[d,$.extend({},f,{className:classNames(c(),f.className)})].concat(i.call(m)))},s.displayName=""+u+o,s.pure&&(s.shouldComponentUpdate=function(m,d){return e(this.props||t,m)||e(this.state||t,d)}),h=s.getDefaultProps,delete s.getDefaultProps,b=s.propTypes,delete s.propTypes,p=s.getDerivedStateFromError,delete s.getDerivedStateFromError,l=createReactClass(s),h&&(l.defaultProps=h()),b&&(l.propTypes=b),p&&(l.getDerivedStateFromError=p),g=React.createElement.bind(null,l),g.type=l,a[o]=g)},R.scope_event_name=function(o){return"itch:"+o},R.trigger=function(){var o,s,a;return a=arguments[0],s=arguments[1],o=3<=arguments.length?i.call(arguments,2):[],a.trigger(R.scope_event_name(s),i.call(o))},R.dispatch=function(o,s,a){var u,l,c,h;typeof s=="object"&&(a=s,s=!1),u=[],h=function(p,g){return u.push(function(){return o.off(p,g)})};for(l in a)n.call(a,l)&&(c=a[l],s&&(l=s+":"+l),l=R.scope_event_name(l),o.on(l,c),h(l,c));return function(){return u.map(function(p){return p()})}},R.component=function(){return R.apply(null,arguments)},R.is_different=e,R.package=function(o){var s;return s=R[o]||(R[o]=function(a,u){return u.Package=s,R.component(a,u,s,o+".")}),s.component=function(){return s.apply(null,arguments)},s},R.render=function(o,s){var a;return window.ReactDOM?(a=typeof o=="string"?document.querySelector(o):o,ReactDOM.render(s(),a)):I.libs.react.done(function(){return R.render(o,s)})})}}),G,me,ge,Ke={}.hasOwnProperty,ve=[].slice;me=10,G="inputmemory_keys",ge=1,window.I={get_worker:function(){var t;return t=$.Deferred(),I.get_worker=function(){return t},t.resolve(new Worker("/static/worker.min.js")),t},solve_challenge:function(t){return I.get_worker().then(function(e){var r,n,i;return r=ge++,e.postMessage([r,"solve_challenge",t]),n=$.Deferred(),e.addEventListener("message",i=function(o){return function(s){var a,u,l;if(u=s.data,a=u[0],l=u[1],a===r)return e.removeEventListener("message",i),n.resolve(l)}}(this)),n})},libs:{react:$.Deferred(function(t){if(typeof React!="undefined"&&React!==null)return t.resolve(React)}),selectize:$.Deferred(function(t){var e;if(typeof $!="undefined"&&$!==null&&(e=$.fn)!=null&&e.selectize)return t.resolve($.fn.selectize)}),redactor:$.Deferred(function(t){var e;if(typeof $!="undefined"&&$!==null&&(e=$.fn)!=null&&e.redactor)return t.resolve($.fn.redactor)})},setup_page:function(){return I.setup_register_referrers($(document.body)),_.defer(function(t){return function(){return I.setup_affiliate_code()}}(this))},root_url:function(){var t;return t=null,function(e){return t||(t=$("body").data("host")||"",t!==""&&(t=window.location.protocol+"//"+t,window.location.port&&window.location.port!=="80"&&(t+=":"+window.location.port))),t+"/"+e}}(),page_name:function(){return $(document.body).data("page_name")||"unknown"},sort_keys:function(t){var e,r;return r=[],e=function(n){var i,o,s;o=[];for(i in n)Ke.call(n,i)&&(s=n[i],r.push(i),typeof s=="object"?o.push(e(s)):o.push(void 0));return o},e(t),r.sort()},get_csrf:function(){return I._csrf_token||(I._csrf_token=$("meta[name='csrf_token']").attr("value"))},with_csrf:function(t){var e;return t==null&&(t={}),e={csrf_token:I.get_csrf()},typeof t=="string"?t+"&"+$.param(e):$.extend(t,e)},add_params:function(t,e){var r;return r=$.param(e),t.match(/\?/)?t+"&"+r:t+"?"+r},flash:function(t,e){return e==null&&(e="notice"),I.flasher||(I.flasher=new I.Flasher),t.match(/^error:/)&&(t=t.replace(/^error:/,"Error: "),e="error"),I.flasher.show(e,t)},slugify:function(t,e){return t=t.replace(/\s+/g,"-"),t=e!=null&&e.for_tags?t.replace(/[^\w_.-]/g,"").replace(/^[_.-]+/,"").replace(/[_.-]+$/,""):t.replace(/[^\w_-]/g,""),t.toLowerCase()},truncate:function(t,e,r){return e==null&&(e=30),r==null&&(r="..."),t?t.length>e+r.length?""+t.slice(0,e)+r:t:""},number_format:function(t,e,r,n){var i,o,s;return r==null&&(r="."),n==null&&(n=","),isNaN(t)||t===null?"":(t=t.toFixed(~~e),s=t.split("."),o=s[0],i=s[1]?r+s[1]:"",o.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+n)+i)},format_bytes:function(){var t;return t=[["gb",Math.pow(1024,3)],["mb",Math.pow(1024,2)],["kb",1024]],function(e){var r,n,i,o,s;for(r=0,i=t.length;r=o)return""+I.number_format(e/o)+n;return I.number_format(e)+" bytes"}}(),ecommerce_event:function(t){return window.gtag?gtag("event","purchase",t):console.log("purchase event:",t)},event:function(t,e,r,n,i){var o;return i==null&&(i=!0),o={hitType:"event",eventCategory:t,eventAction:e,eventLabel:r,eventValue:n},i||(o.nonInteraction=1),I.event_with_opts(o)},event_with_opts:function(t){try{return window.ga!=null?window.ga("send",t):(console.log("ga event:",t),typeof t.hitCallback=="function"?t.hitCallback():void 0)}catch(e){}},parse_money:function(t){var e;return e=t&&parseInt(t.replace(/[^\d]/g,""),10),e||0},currency_symbols:{USD:"$",GBP:"\xA3",EUR:"\u20AC",JPY:"\xA5"},currency_formats:{USD:{prefix:"$"},GBP:{prefix:"\xA3"},JPY:{prefix:"\xA5"},EUR:{suffix:"\u20AC"}},format_money:function(t,e){var r,n;return e==null&&(e="USD"),t<0?"-"+I.format_money(-t,e):(n=I.currency_symbols[e]||"$",e==="JPY"?n+t:(r=I.number_format(t/100,2),e==="EUR"?""+r+n:""+n+r))},money_input:function(t,e){var r,n;return e==null&&(e={}),t=$(t),r=e.currency||t.data("currency"),n=I.currency_formats[r]||{prefix:"$"},t.maskMoney($.extend({affixesStay:!0,precision:r==="JPY"?0:2},n,e))},plural:function(t,e){return e===1?e+" "+t:e+" "+t+"s"},add_recaptcha_if_necessary:function(t,e){if(e[0]==="recaptcha")return t.data("adding_recaptcha")||(t.data("adding_recaptcha",!0),I.with_recaptcha(function(){var r;return r=t.find(".g-recaptcha"),I.event("recaptcha","show",I.page_name()),grecaptcha.render(r[0],{sitekey:r.data("sitekey")})})),t.set_form_errors(["Please fill out the CAPTCHA to continue"]),!0},with_recaptcha:function(t){var e;return window.grecaptcha?t():I.recaptcha_deferred?I.recaptcha_deferred.done(t):(I.recaptcha_deferred=$.Deferred().done(t),window._itch_recaptcha_loaded=function(){return I.recaptcha_deferred.resolve()},e="https://www.google.com/recaptcha/api.js?onload=_itch_recaptcha_loaded&render=explicit",$('